package main

import "fmt"

func main() {

	//testNew()
	testMake()
}

func testNew() {
	var num1 = new(int)
	*num1 = 1
	fmt.Println(num1)
	fmt.Println(*num1)
}

func testMake() {
	// 使用 make 函数创建一个切片，并初始化长度为 3 的切片
	slice := make([]int, 3)
	fmt.Println("slice -> ", slice) // 输出 [0 0 0]

	// 使用 make 函数创建一个映射，并初始化键值对
	m := make(map[string]int)
	m["one"] = 1
	m["two"] = 2
	fmt.Println("map -> ", m) // 输出 map[one:1 two:2]

	// 使用 make 函数创建一个通道，并初始化缓冲区大小为 10 的通道
	ch := make(chan int, 10)
	ch <- 1
	ch <- 2
	fmt.Println("chan 1 -> ", <-ch) // 输出 1
	fmt.Println("chan 2 -> ", <-ch) // 输出 2

}
